<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>


        // 注意：
        //    1 质数的判断  不能说  if(能被整除) else(不能被整除)
        //    2 假设法  



        // 质数和合数
        //    质数：一个数除了1和自身以外不能被其他任何数整除的
        //      3    19    137

        // 137 % 2 
        // 137 % 3
        // 137 % 4 
        // ...
        // 137 % 136 

        // 如果不能被2-136之间的任何数整除才说明是一个质数

        var num = 9 ;


        for(var i = 2 ; i < 9 ; i++) {
            // 如果能被整除 --- 不是质数
            if(num % i === 0) {
                console.log('不是质数') ;
            }
            // 此处不能写else 不成立
            // else {
            //     console.log('是一个质数') ;
            // }
        }





        // 假设法
        //   假设它是一个质数 

        var num = 137 ;

        var flag = true ;

        for(var i = 2 ; i < num ; i++) {
            if(num % i === 0) {
                // 如果能被整除
                flag = false ;
            }
        }

        // if(flag) {
        //     console.log(num + '是一个质数') ;
        // }
        // else {
        //     console.log(num + '不是一个质数') ;
        // }

        flag ? console.log(num + '是一个质数') : console.log(num + '不是一个质数') ;





        var num = 8 ;

        var flag = 1 ;

        for(var i = 2 ; i < num ; i++) {
            if(num % i === 0) {
                // 如果能被整除
                flag = 0 ;

                // 此时说明num已经不是质数了，循环也就可以结束了

                break ;   // 不影响判断的结果  --- 只是优化
            }
        }

        flag === 1 ? console.log(num + '是一个质数') : console.log(num + '不是一个质数') ;

 
    </script>
    
</body>
</html>